﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
using BussinessLogicTecnoPez;
using BussinessLogicTecnoPez.Produccion.Enfermedades_y_control_de_estanques;

public partial class Modules_EnfermedadesControlEstanque_CerrarTratamiento : System.Web.UI.Page
{

    private Tratamiento TratamientoActual
    {
        get { return ViewState["TratamientoActual"] as Tratamiento; }
        set { ViewState["TratamientoActual"] = value; }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        int idTratamiento = Convert.ToInt32(Request["idTratamiento"]);

        this.TratamientoActual = Tratamiento.getManager.GetOneByPrimaryKey(idTratamiento);
        this.lblTratamiento.Text = TratamientoActual.IdTratamiento + " - " + TratamientoActual.Descripcion;
        this.lblFechaInicio.Text = TratamientoActual.FechaInicio.ToShortDateString();
        this.lblFechaFin.Text = DateTime.Now.ToShortDateString();
        this.lblFechaEstimadaFin.Text = TratamientoActual.FechaEstimadaFin.ToShortDateString();

        btnSalir.OnClientClick = "window.close();";
    }
    protected void btnAceptar_Click(object sender, EventArgs e)
    {
        TratamientoActual.FechaFin = DateTime.Now;
        TratamientoActual.ResultadoPositivo = Convert.ToInt32(cboResultado.SelectedValue);

        int cantPecesInicial;
        if (int.TryParse(txtCantidadPecesFinal.Text, out cantPecesInicial))
        {
            TratamientoActual.CantidadPecesFinal = cantPecesInicial;
        }
        else
        {
            lblMessage.Text = "Incorrecta cantidad de peces final";
            return;
        }

        decimal tamPecesFinal;
        if(decimal.TryParse(txtTamanoPecesFinal.Text, out tamPecesFinal))
        {
            TratamientoActual.TamanoPecesFinal=tamPecesFinal;
        }
        else
        {
            lblMessage.Text="Incorrecto tamaño peces final";
            return;
        }

        ItemDetalleTratamiento item = new ItemDetalleTratamiento();
        item.Fecha = DateTime.Now;
        item.Actividad = "Cierre tratamiento";
        item.Progreso = 100;

        TratamientoActual.DetalleTratamiento.add(item);

        if (Tratamiento.getManager.Update(TratamientoActual) == false)
        {
            lblMessage.Text = "Error: No se pudo cerrar el tratamiento";
            return;
        }

        StringBuilder strScript = new StringBuilder();
        strScript.Append("window.opener.reload(); window.close();");
        this.ClientScript.RegisterClientScriptBlock(this.GetType(), "reload", strScript.ToString(), true);
    }
}